Automated Monitoring and Verification of Internet Based Advertising

ABSTRACT

Method for automatically monitoring and verifying advertising content during a campaign, delivered over a data network. Accordingly, advertisers submit a list of sites, on which the advertising content should be placed according to desired insertion order. Mapping crawlers visit these sites and locate pages with advertisements that belong to required sections, pages that do not belong to the required sections or pages with high probability for incidents. A list of pages to visit per every site is generated and autonomous or plug-in visual crawlers are allowed to visit the list: of pages, according to predetermined site visiting plan. A crawlers&#39; manager allocates the pages between visual crawlers, for obtaining adequate incident coverage and load on the visual crawlers. An incident identifier compares the insertion orders with the delivery data and whenever an insertion order and its corresponding delivery data do not match, an incident report is generated.

FIELD OF THE INVENTION

The present invention relates to a system and a method for automaticmonitoring and verification of advertising content, delivered over adata network the world-wide-web and other forms of Internet-based media(media that is based on similar protocols as the Internet, generallyreferred to as digital media). This includes but is not limited todesktop internet, mobile phones and internet-protocol-based TV (IPTV).

BACKGROUND OF THE INVENTION

When a company buys advertising space or time from a media seller, itincludes specific instructions in regards to where, when and how thisadvertising should be delivered. These instructions are compiled afterextensive research using various different tools, and, from theadvertising buyer's perspective, best reflects its advertising goals andrepresents the optimal use of its advertising budget. The cost of theadvertising is also directly related to the type and extent of campaigndelivery instructions.

These instructions may include the dates and time of day in which theadvertising is to be launched or delivered, the number of times theadvertisement should be delivered, the type of audience it should bedelivered to the location of the advertising, the frequency in which itshould be delivered and other various rules, policies and conventionswhich the advertising should adhere to. The order which the advertiserplaces with the media seller that contains these instructions and thatis accepted by the media seller is usually referred to as an “InsertionOrder” (IO). An insertion order usually consists of various placementswith each placement representing a different insertion. The InsertionOrder represents the written contract between the advertising buyer andthe seller pertaining to this advertisement campaign.

The advertising seller delivers the advertisements to its website on theworld-wide-web or other form of digital media using a computer programusually referred to as an ad server. Every web page that should displayadvertising contents has one or more ad server tags embedded within itscode (in the background). This ad server tag is a piece of code thatcalls a remote advertising server that delivers the advertisements tothe page. This ad tag sends information to the ad server about the pageand about the user accessing this page. The ad server selects theappropriate ad to deliver from a large bank of advertisements bymatching the most appropriate advertisement, based on the definitions ofthe insertion orders and placements, with the corresponding user andpage based on the information passed to it by the website.

Because of the complexities of the insertion orders, the short timeframeusually available to set up the campaigns and because of othertechnological challenges, the actual delivery of the ads can frequentlydiffer from the instructions specified in the insertion order. Theseinconsistencies can cost advertising buyers many millions of dollars ofadvertising budget wastage.

Another conventional way for monitoring is known as “Tracking Pixel”(TP—a method for tracking actions, according to which the advertiserplaces an image tag representing a pixel on the page that is displayedimmediately after the action being tracked), which is an invisible pointthat can be used to identify the origin website. However, this way isvery limited, since many inconsistencies (such as the location of the adwithin the web-page, simultaneously displaying competitiveadvertisements on the same page, fraud display of an ad, covered byanother ad etc.) may not be identified. Moreover, ads delivered withinInline Frames (IFrames—HTML documents embedded inside another HTMLdocument on a website. The IFrame HTML element is often used to insertcontent from another source, such as an advertisement, into a Webpage.), and even nested IFrames, because of IFrames securitydefinitions, do not disclose the URL of the site the ad was deliveredto, thus not allowing to identify the visited URL from the conventionaland standard data of the Tracking pixel. Again, this causes advertisersto lose money.

All the methods described above have not yet provided satisfactorysolutions to the problem of providing a method and system for automaticmonitoring and verification advertising content, delivered over a datanetwork, such as the Internet.

It is an object of the present invention to provide a method and systemfor automatic monitoring and verification advertising content, deliveredover a data network.

It is another object of the present invention to provide a method andsystem for automatically monitoring and verifying whether or not theadvertising content optimally complies with the advertising InsertionOrder defined by the advertiser.

It is another object of the present invention to provide a method andsystem for automatically monitoring and verifying whether or not theadvertisement represents more optimal use of the advertising budget thatcorresponds to the Insertion Order defined by the advertiser

It is a further object of the present invention to provide a method andsystem for automatically monitoring and verifying that the instructionsspecified in the insertion order matches the advertiser's intent.

Other objects and advantages of the invention will become apparent asthe description proceeds.

SUMMARY OF THE INVENTION

The present invention is directed to a method for automaticallymonitoring and verifying advertising content during a campaign,delivered over a data network. Accordingly, one or more advertiserssubmit, via a user interface, a list (that may be generated manually orby the mapping crawlers) of sites or of sections per site, on which theadvertising content should be placed according to a desired insertionorder (the insertion order information may modified at any time point).The tracking pixel process is activated for tracking actions in whichthe advertiser places a tag (a Javascript code, for example) whichexplores the page to find certain parameters and then generates an imagetag (with the found parameters) representing a pixel on the page that isdisplayed immediately after actions are tracked. In addition, one ormore mapping crawlers are activated to visit these sites and locatepages with advertisements that belong to required sections, pages thatdo not belong to the required sections or pages with high probabilityfor incidents. A list of pages to visit per every site (usuallyperformed by a spider—i.e., by a program that visits websites and readstheir pages and other information in order to create entries for asearch engine index) is generated and one or more (autonomous orPlug-in) visual crawlers are allowed to visit the list of pages,according to a predetermined site visiting plan. A crawlers' managerallocates the pages between visual crawlers, for obtaining requiredadequate incident coverage and load on the visual crawlers. An incidentidentifier compares the insertion orders with the delivery data andwhenever an insertion order and its corresponding delivery data do notmatch, an incident report is generated.

Some of the pages may be part of the sections that are included in, orexcluded from, the advertiser's buy. The visiting plan may includeinformation regarding how many times per day should each page be visitedand the start and end date of the campaign.

The modification of the insertion order may take effect immediately, ina future date, or retroactively.

The advertiser may access the user interface at any point in time toview the incidents and update their status. The site managers may accessthe user interface to view the incidents that are happening on theirsite.

Advertisers may view reports about incidents that are happening on theirsite, via the user interface.

Preferably, the mapping crawlers are used to:

a) retrieve the html text from the web-page;b) analyze the text and meta-data in the web-page, without anyhierarchical manipulation of the objects in the page;c) identify pages that contain advertisements by identifying ad serversignatures in the page;d) identify the number of advertisements in the page and the size ofeach ad;e) identify the ad server key values and advertising categories thateach page belongs to, for creating a map of site categories;f) for each ad server, identify the specific site id, which identifiesthe site in front of the ad server. This is recorded for later use inthe process of analyzing the TP data.g) find pages that this page links to by analyzing the links in thepage;h) determine the length of the page and detect if any changes have beendone to the page since the last analysis;i) analyze redirection of pages;j) report and record any errors in the page;k) input user data if required by the site/page. User input data mayinclude but not limited to: user clicks, login parameters, userinformation and any other user related data;l) identify the ad servers route;m) identify and create a map of sites belonging to ad networks and adservers.n) identify and create a map of sites belonging to a network of sites;o) impersonation—using cookies, sessions (post/get), user agent thecrawler can be identified as needed by the campaign (demographically,user parameters etc.).p) identify information regarding the advertisements in the page(location, size, type, advertiser's website address, creative location,creative asset etc.)

The site map may include the number of times each page is linked andparameters representing the weight of the page.

Preferably, the visual crawlers are used to:

a) render a web-page graphically and generate a hierarchicalrepresentation of the page based on the html text of the page;b) identify interstitialsc) identify media types that are displayed;

For each media type:

d) track down its landing page;e) find its position on the page;f) find its dimensions;g) identify the ad servers routeh) identify site redirectioni) check if its html/JavaScript tag has certain signatures that definethe media as an advertisement;

j) analyze the text and meta-data in the page to classify the page, thesite and the associated ads;

k) input user data if required by the site/page. User input data mayinclude but not limited to: login parameters, user information and anyother user related data.

The media types may include Images, Flash animations, Streaming video orText ads.

The visual crawler may employ Session Crawling, Cookie Crawling,Contextual Crawling or Classification Crawling. The crawlers' manager isused to:

a) intermediate and arbitrate between the data repository and therunning crawlers; andb) retrieve sites or pages that needed to be crawled form the datarepository and allocates them to different crawlers.

Advertisements may be any piece of media on the page, including: image,flash animation, text, streaming video.

Preferably, advertisements or advertisers are recognized according toHTML tags (like image), Flash tags, JavaScript, or Iframe that containsother ads inside.

Advertisements may be recognized by identifying all of the tags on thepage that correspond to an ad server's signature and parsing the tag andextract information such as the URL of the creative file, the landingpage, the type of ad, the size of the ad and the advertising category.

Incidents may be scored per incident type per page, per incident typeper page category, per site or per incident type per site category.

Scoring may be done also by aggregation of all incident types.

Below the fold incident, ad clutter incident, ad fraud incident, adhijacking incident or inappropriate content incident may be generatedeven without an IO.

The present invention is also directed to data processing system forextracting predefined content from multimedia networks, operativelyassociated with multimedia content, that comprises:

a) at least one mediator server comprising:

-   -   a.1) at least one web crawler operatively associated with the        mediator server;    -   a.2) at least one visual content database operatively associated        with the mediator server and comprising visual content        associated with at least one advertiser,        wherein the mediator is arranged to receive instructions        associated with an advertiser from the database and instruct at        least one crawler to apply a visual content extraction process        of predefined visual content over the multimedia network.

The data processing system may also be used for monitoring, verifyingand auditing of multimedia network advertising, operatively associatedwith multimedia content. In this case, the data processing system maycomprise:

a) at least one mediator;b) at least one advertisement database operatively associated with themediator server and comprising visual content associated with at leastadvertiser and corresponding advertising campaigns and extracted visualcontent from the multimedia network,wherein the mediator is arranged to receive visual content associatedwith an advertiser and corresponding advertising campaigns from thedatabase and apply a predefined monitoring, verifying and auditingprocess of an advertising campaign over the multimedia network in viewof visual content placement on corresponding multimedia network;and wherein the mediator is further arranged to provide a verificationand monitoring report.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other characteristics and advantages of the invention willbe better understood through the following illustrative andnon-limitative detailed description of preferred embodiments thereof,with reference to the appended drawings, wherein:

FIG. 1 is a schematic diagram showing the environment of operation ofthe present invention;

FIGS. 2-4 are schematic block diagrams of the data processing systemaccording to some embodiments of the invention; and

FIGS. 5-9 are flowcharts showing the steps of the method according tosome embodiments of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the disclosure.However, it will be understood by those skilled in the art that theteachings of the present disclosure may be practiced without thesespecific details. In other instances, well-known methods, procedures,components and circuits have not been described in detail so as not toobscure the teachings of the present disclosure.

The present invention, in embodiments thereof discloses a system andmethod that is used to automatically monitor the actual delivery of theadvertising campaign and to verify that the actual delivery of theadvertising is consistent with the Insertion Order. Although theexplanations and examples in this document refer in particular toadvertising on the Internet, the same methods can be applied to otherforms of advertising on any data network and digital mediums, such asadvertising on mobile devices, IP-based television and broadcast media.The architecture of the system proposed by the present invention isshown in FIG. 1.

The system according to some embodiments of the invention comprises ofthe following parts, as shown in details in FIGS. 2-4.

DEFINITIONS

Visual Crawler—An automated computer program (the visual crawler) thatcan visit any website and individual web pages within the website and“render” the page—view a web page in the same manner a human being willview the web page. This program can also extract information on the pagebeing viewed such as the URL of the page and other data and meta-data ofthe page, and can extract information regarding the advertisements inthe page such as their location, size, type, advertiser's websiteaddress, creative location, creative asset and any other informationthat can be available through the page directly or indirectly, forexample, verifying that there are no delivered ads in un-decent sites orsites that should not display the delivered ads. The program may alsoemulate a person who has interest in a specific subject and measure thereaction time. This computer program can then save all this informationinto a central data repository, such as a database or a log file. Thisdata will be referred to as the delivery data since it describes theactual way in which the advertisements were delivered. This computerprogram also saves a visual image of the web page which can be used forverification purposes.

Mapping Crawler—An automated computer program (the mapping crawler) thatcan visit any website and individual web pages within it and extract andanalyze the data and meta-data in the page, such as the URL of the page,information regarding the advertisements in the page (location, size,type, advertiser's website address, creative location, creative assetetc.) The mapping crawler may also emulate a person who has interest ina specific subject and measure the reaction time. Then all thisinformation is stored in a central database or a log file. The mappingcrawler can perform the following tasks:

-   -   look for signatures of ad servers in the page to determine if        this page contains advertisements;    -   determine the advertising categories of the page;    -   count the number of advertisements in the page and their sizes        to check if the page has higher probability for certain types of        incidents;    -   find the URL address of all the web pages that this page links        to and the number of occurrences;    -   measure the “length” of the page to check if it has higher        probability for certain types of incidents; analyze the        data/text or meta-data in the page to look for certain        predefined keywords that can allow us to classify this page;    -   detect if any changes have been done to the page since its last        analysis.

Crawlers Manager—An automated computer program (the crawlers manager)that arbitrates between the data repository that contains informationregarding the pages that need to be crawled and between various visualcrawlers or mapping crawlers. The crawlers manager assigns page crawlingtasks to each of the crawlers based on parameters such as but notlimited to the geographic location of each crawler, number of pages tocrawl, the sites that need to be crawled, the type of operating systemsand browsers that need to be simulated.

User Interface—A user interface that allows users to enter InsertionOrder information into the system, review and manage incidents. Usersare required to enter the agreed terms of the advertising campaign(insertion orders and placements) into the system, so that they can becompared to the actual delivery. This information includes the deliveryterms agreed with the media seller as described previously and will bereferred to as the terms and conditions. The incidents can later beviewed and their status can be tracked.

Incident Identifier—An automated computer program (the IncidentIdentifier) that compares between the actual delivery data that wascollected by the crawler by the tracking pixel, and from the panel andbetween the terms and conditions received from each advertiser, andidentifies any cases in which the actual delivery was different fromwhat was specified in the terms and conditions. In each case in whichdelivery was found to be different, the Incident Identifier wouldgenerate an incident report. There can be many incident types, dependingon the type of inconsistency that occurred. When an incident report isgenerated, it may include a timestamp, the address of the website andweb page on which the incident was identified and other relevantinformation pertaining to the page, as well as relevant informationpertaining to the terms and conditions of this particular placement. Theincident report also includes an image of the advertiser's ad, alongwith an image of the webpage with the actual incident as it occurred andas was recorded by the crawler as a way to prove the occurrence of theincident.

Reporting Interface—A reporting interface that allows searching andviewing for incident reports as well as searching, viewing and analyzingaggregated and statistical information on incidents.

Ad Server—An ad server is a web server that stores advertisements usedin online marketing and delivers them to website visitors and uploadingads according to predetermined rules. Ad servers may count the number ofclicks for an ad campaign and generate reports. Whenever a reference toan ad server is made, it is also referring to ad networks and adexchange services.

Site—whenever a reference to a site is made, it is also referring tosite networks.

Panel—a panel of users about whom there is already information (e.g.,demographic, socioeconomic, geographic background etc.). These users mayhave a crawler plug-in, which is not adapted to crawl but rather toanalyze the pages that the users visit.

System Architecture

FIG. 1 shows an architectural diagram of the various parts of theinvention. Some of the below servers may be implemented as one singleserver.

The following is a description of the monitoring and verificationprocess:

The advertiser submits the list of sites on which the advertising is tobe placed, and the list of sections per site if applicable, and they areentered into the system through the user interface.

A queue generator creates a list of pages to visit by the mappingcrawlers and the visual crawlers. This queue includes pages that arespecified in the IO as well as pages outside of the IO. The queue willalso include pages to crawl where incidents have already been detectedeither from the crawler or from the tracking pixel as well as pages withhigh probability for incidents. The queue could be ordered according topriorities of campaigns, sites and incidents related data.

The mapping crawlers are instructed to visit the sites and locate pageswith advertisements that belong to the required sections, additionalpages that do not belong to the required sections. Alternatively, thisstage can be done manually.

The visual crawlers are instructed to visit the list of pages of eachsite created in step 2, some of which are part of the sections that areincluded in the advertiser's buy, and some of which are part of sectionsthat are excluded from the buy. The crawlers are also instructed howmany times per day should each page be visited and the start and enddate of the campaign.

The visual crawlers begin their crawling tasks, visiting numerous pagesper day for the duration of the campaign. The crawlers' managerallocates the pages between the various crawlers to achieve requiredadequate incident coverage and load on the crawlers.

The advertiser's insertion orders are entered into the system throughthe user interface, detailing each individual site placement. This stepcan be done at any time throughout the monitoring and verificationprocess. Data collected by the tracking pixel process, by the panel, andby the crawlers is combined to generate delivery data of the advertisingcontent to predetermined sites. On a periodical basis, the incidentidentifier compares the insertion orders with the delivery data andgenerates incidents as described earlier.

At any point in time, the insertion order information in the system maybe modified. The modification could take effect immediately, could betimed to take effect in a future date, or could even take effectretroactively as of an historical date. The incidents could then beregenerated accordingly.

At any point in time, the advertiser may access the user interface toview the incidents and update their status.

An optional step is to allow the sites to access the user interface toview the incidents that are happening on their site.

At any time, the reporting interface could be accessed to view incidentsand reports. The advertiser or its representative can contact theindividual websites to correct the advertising delivery or requestcredit based on the incidents they have identified at any time, andsupply incident reports as proof.

Mapping Crawler

The mapping crawlers retrieve the html text from the web page andanalyze the text and meta-data in the page, without any hierarchicalmanipulation of the objects in the page.

FIG. 7 shows a flow chart of a mapping crawler. The mapping crawlers areused to do the following:

Identify pages that contain advertisements by identifying ad serversignatures in the page.

Use the identification of pages that contain advertisements byidentifying ad server signatures in the page to identify the number ofadvertisements in the page and the size of each ad.

Use the identification of pages that contain advertisements byidentifying ad server signatures in the page to identify the ad serverkey values and advertising categories that each page belongs to, so thata map of site categories can later be created.

Find pages that this page links to by analyzing the links in the page.

By using the found pages that the page containing advertisement linksto, a site map can be created with the number of times each page islinked along with other parameters representing the weight of the page.Based on this weight, the pages to be crawled can later be selected.

Determine the length of the page and detect if any changes have beendone to the page since last analyzing it.

The Visual Crawler

Visual crawling is a more complex method of crawling that renders thepage graphically and generates a hierarchical representation of the pagebased on the html text of the page (similar to the web browsers). Thevisual crawler's operation is similar to a human visiting the page.

These visual crawlers are used to:

identify various media types that are displayed on the page such as:images (jpg, gif, etc.);flash animations;streaming video;text ads.

For each media type, it can:

track down its landing page (click through URL). This tracking mayinclude several servers that the click goes through until it reaches itsfinal destinationfind its position on the pagefind its dimensions (width×height)check if its html/JavaScript tag has certain signatures that define themedia as an advertisement. Those signatures may be derived from the adservers.

The crawlers can identify all of the tags on the page that correspond toan ad server's signature. The tag is parsed and information such as theURL of the creative file, the landing page, the type of ad, the size ofthe ad, the advertising category and more parameters are extracted. Thisway, each tag identified by a crawler (mapping or visual) can be mapped,in order to identify the website from which this particular tag has beenviewed.

Visual Crawling Methods

The visual crawler can employ various methods:

Session Crawling—a session is a unique ID that a visitor receives whenthe user visits a web site for the first time. This session ID followsthe visitor through its visits on the web site pages until the userleaves the web site to another or closes the browser. Some advertisingtechniques are based on sessions, for example a surround session inwhich a user is served ads of the same advertiser through the user'sentire session on the site, or a registered user login. In sessioncrawling, the visual crawler simulates a user's session and tracks thedelivery of advertisements within the session.

Cookie Crawling—a cookie is a unique ID that a web site can save on thevisitors computer and read it from the visitor's computer each time thevisitors visits the site. Some advertising techniques are based oncookies, for example a registered user which has demographic data savedin its cookie and which is used for targeting, or behavioral targetingin which ads are served to the user based on sites and pages that theuser visited in the past. In cookie crawling, the visual crawlersimulates cookies and tracks the delivery of advertisements based on thecookies.

Contextual Crawling—in this method, the crawler identifies the contextof the page. This is used for contextual targeting, in which ads areserved based on the context of the text in the page.

Classification Crawler

Classification crawlers are similar to the mapping crawler. Theyretrieve the HTML text from the web page and analyze the text andmeta-data in the page. The difference is in the analysis itself. Thecrawlers use different analysis techniques to analyze the web page anddetermine its different classifications.

The Crawlers Manager

The Crawlers manager server intermediates and arbitrates between thedata repository and the various crawlers running all over the world. Thecrawlers manager knows the location and status of each of the crawlers,and by knowing the availability of each crawler and the crawlingrequirements, it decides how to distribute the crawling tasks.

FIG. 8 shows the crawler manager common operations flow chart:

The crawlers manager is responsible for the following:

-   -   Retrieves sites/pages that needed to be crawled form the data        repository and allocates them to the various crawlers. Each        crawling demand can include:    -   The URL address of the page to be crawled    -   When the crawling should be done    -   Geographical location of the crawl    -   How many times to visit the page by same person (cookies is one        optional implementation).    -   What browser/computer/screen size to simulate    -   And more characteristics    -   Updates the data repository with the page/site that were crawled        and the crawl location    -   Insert crawler crawling results into the data repository

Crawler Implementations

There are several methods in which the crawlers can be implemented, twoof which are described below:

-   -   Autonomous crawler—this crawler is an independent computer        program. It is usually installed on dedicated crawling servers.    -   Plug-in crawler—this crawler is implemented as an add-in or        plug-in to various browsers such as Internet Explorer, Firefox,        Opera, etc. This crawler works within the browser application        and usually installed on many client computers such as in an        audience panel and enables more distributive crawling. This can        also be achieved by embedding an html/Javascript tag on the web        page itself, either directly embedded in the page or indirectly        served to the page through a third party computer program such        as an ad server.

Advertisement and Advertiser Recognition

Advertisements are text/images/flash/video or other form of media thatpromote an advertiser's product. Very commonly, clicking on theadvertisement will lead to a page with more information on the productthat usually resides on the advertiser's website. This page is usuallyreferred to as the landing page of the ad or click through URL. Theseadvertisements are displayed on web pages, usually alongside thewebsite's content.

Advertisements can be any piece of media on the page like: image, flashanimation, text, streaming video and each day there a new ways to showads on web pages as the technology grows and changes.

FIG. 9 shows advertisement/advertiser recognition flow chart. Theadvertisements can be in the web page in many different ways. Some ofthose ways are:

-   -   Html tags (like image)    -   Flash tags    -   JavaScript    -   IFrame that contains other ads inside

Currently, most ads are served through commercial ad serving systems orad networks such as DoubleClick, Google, Atlas, RightMedia and others,and some sites have their own internal ad serving systems. Those are allcommonly referred to as ad servers.

Advertisement recognition can be implemented in various methods, oneproposed method is:

1. Each ad server has a unique signature of the ad tag it uses for thedifferent ads it serves, as well as a set of parameters that areincluded in the signature and that vary from ad serving system toanother.2. Identify all of the tags on the page that correspond to an adserver's signature (can be achieved on mass scale through a crawler asdescribed above but through other methods as well).3. Parse the tag and extract information such as the URL of the creativefile, the landing page, the type of ad, the size of the ad, theadvertising category and more.

Each site need to be identified by the ad server. This is commonlyachieved by sending a parameter (id) to the ad server. The mappingprocess proposed by the present invention associates between each id andthe viewed site. For example, if a particular site “A” is identified assite id 13 by ad server 1 and as site id 41 by ad server 2, etc, eachtime the tracking pixel identifies site id 13 that is served by adserver 1 or site id 41 that is served by ad server 2, it is known thatsite “A” has been viewed.

Sometimes the identification of the sites to the ad server is done byspecifying in a certain parameter the actual name of the site. This datais delivered by the tracking pixel and then extracted to produce theorigin URL. This technique allows to extract and translate the URL, evenif it is within IFrame or nested IFrames. It also allows to trace backthe route of ad servers the ad has passed thus identifying who deliveredthe ad to an inappropriate or undesired site.

Incidents Generation

An incident is any deviation, non-compliance or inconsistency betweenthe terms and conditions of the insertion order and between the actualad delivery. Incidents generation is done by analyzing the dataretrieved from the crawlers (the delivery data) and the tracking pixel,and comparing it to the terms and conditions. When a mismatch is foundbetween the definitions of the placements in the insertion orders (termsand conditions) and the actual delivery of the advertisements then anincident is created. Every incident can have a level of severance basedon the extent of this incident happening and other configurableparameters

The incident types are based on contractual agreements between theadvertiser and the sites. Here are some examples of incidents types thatcan be generated based on certain contractual agreements:

-   -   Below the fold incident: this incident occurs when the        advertisement is shown below the fold of the page (so the user        needs to scroll in order to see it). And the campaign doesn't        allow below the fold advertisements shown. According to the        method proposed by the present invention, this type of incident        may be generated even without any information about an IO.    -   Competitive Collision: this incident occurs when the        advertisement is shown with another advertisement of a competing        advertiser on the same page. The competitor definition can come        from the campaign definition or from a list of competitors for        different advertisers.    -   Frequency incident: this incident occurs when the advertisement        (for a specific advertiser) is shown too many times for a single        repeat visitor within a specified timeframe. This frequency is        defined in the campaign.    -   Multiple Ads: this incident occurs when the advertisement (for a        specific advertiser) is shown with another advertisement of the        same advertiser on the page, and it was not allowed by the        campaign definitions.    -   Missing Geo Targeting: this incident occurs when the        advertisement (for a specific advertiser) is shown to visitors        located outside of a specified geographic region when the        campaign didn't allow advertisements shown outside of that        region.    -   Missing Targeting: this incident occurs when the advertisement        is shown to visitors which are not in the target audience of        visitors defined in the campaign. Some examples of this can        include (but are not limited to) contextual targeting,        behavioral targeting retargeting, demographic targeting and        user-data targeting.    -   Placement not found: this incident occurs when the advertisement        (for a specific advertiser) isn't shown on pages or sections        that it was supposed to be seen as defined by the campaign, or        when it doesn't start on time or ends before its time.    -   Sponsorship not enforced: this incident occurs when an        advertisement is bought with a certain share of voice (meaning        an ad is sold to appear once every certain number of visits to a        page or a section, regardless of the number of visits), but in        practice receives a different share of voice.

Wrong ad/creative—this incident occurs when an ad is served using thewrong creative (wrong picture/flash etc.) Long loading time—

Day time—this incident occurs when an advertisement is not served in therequired time of day

Out of channel—this incident occurs when an advertisement is served inthe wrong channel (section of a site that is specifically targeted bythe advertiser, e.g., finance section of a site)

Wrong dates—this incident occurs when an advertisement is not served inthe required dates

Ad clutter—this incident occurs when an advertisement is served in apage that contains a large number of ads (ad clutter). According to themethod proposed by the present invention, this type of incident may begenerated even without any information about an IO.

Ad fraud—this incident occurs when an advertisement is served togetherwith other ads, but only one of the ads is actually displayed. Accordingto the method proposed by the present invention, this type of incidentmay be generated even without any information about an IO.

Ad hijacking—this incident occurs when an advertisement is served to asite which then directs the ad to another site, however, identifiesitself as the first site. In this situation the ad server registers thefirst site as the delivered site, while the actual site the ad has beendelivered to is the latter site. According to the method proposed by thepresent invention, this type of incident may be generated even withoutany information about an IO.

Inappropriate content—this incident occurs when an ad is delivered onsites that contain inappropriate content.

According to the method proposed by the present invention, this type ofincident may be generated even without any information about an IO.

Out of inclusion sites—this incident occurs when an ad is delivered onsites that are not in the included sites list specified in the campaignIO.

Excluded sites—this incident occurs when an ad is delivered on sitesthat are in the excluded sites list specified in the campaign IO.

Incidents Scoring

Scoring is a way for a campaign manager/advertiser/site to know how wellthe advertisements are doing on the defined in the insertion ordercomparing the real results as opposed to the definitions in thecampaign. The scoring is a number between 0 and 100. 0 is the lowestscore possible and 100 is the best score possible (no incidents weregenerated).

Basic scoring can be done:

-   -   Per incident type per page.    -   Per incident type per page category.    -   Per site    -   Per incident type per site category.

More complex scoring can be done on aggregation of all incident types:

-   -   Per page    -   Per page category    -   Per site    -   Per site category

Each incident type is scored individually so the campaign managers canhave an idea of how well their insertion order is progressing. Thescoring algorithm has to take into consideration the amount of incidentsoccurred and the number of advertisements found.

One simple possible scoring algorithm is as follows: Divide of theamount of incidents that occurred by the total number of advertisementsfound. A total incident scoring is one score for all of the incidenttypes, giving a total score for the incidents (as described above).There are several algorithms to calculate incident scoring depending onhow severe each incident type is against all other incident types.

Some examples of total scoring algorithms are:

-   -   Pick the worst three incident types and score them like:        (A*4+B*2+C)/7 where A is the worst score and C is the third        worst score.    -   Set priority for each incident type and calculate the median        based on this priority multiplied by the incident type score.

Incidents Reporting

Incidents can be grouped by the different grouping options and given ascore according to them.

The reports can be grouped by those grouping, and filtered by differentparameters like:

-   -   Site    -   Page Category    -   Date    -   Incident type

There are several kind of reports that can be created on incidents, someof them are:

Tearsheets reports—tearsheets are screen shots of pages with ads thatadhere with the IO. After the incident generator processes a page andidentifies no incidents, this page is reported as a tearsheet, as aproof of ad delivery process.

-   -   Summary reports—summarizes the incidents by the given filters        and groupings. Then showing a score for each incident type or        total incident type scores.    -   Progress Reports—summarizes the incidents by the given filters        and groupings. Then show a score for each incident type or total        incident type scores per day and show a progress of the scores        through the insertion's order life

According to some embodiments of the invention, the system can beimplemented in digital electronic circuitry, or in computer hardware,firmware, software, or in combinations of them. Apparatus of theinvention can be implemented in a computer or in a cellular phoneprogram (software) product tangibly embodied in an information carrier,e.g., in a machine-readable storage device or in a propagated signal,for execution by a programmable processor; and method steps of theinvention can be performed by a programmable processor executing aprogram of instructions to perform functions of the invention byoperating on input data and generating output.

The invention can be implemented advantageously in one or more computerprograms (software) that are executable on a programmable systemincluding at least one programmable processor coupled to receive dataand instructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform (software) a certainactivity or bring about a certain result. A computer program (software)can be written in any form of programming language, (any kind ofsoftware that may be available in the future) including compiled orinterpreted languages, and it can be deployed in any form, including asa stand-alone program or as a module, component, subroutine, or otherunit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theessential elements of a computer are a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the invention can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer or cellphone keyboard, joystick or any other relevant device.

The invention can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer or cell phonehaving a graphical user interface or an Internet browser, or any otheruseful software application, or any combination of them. The componentsof the system can be connected by any form or medium of digital datacommunication such as a communication network. Examples of communicationnetworks include, e.g., a LAN, a WAN, and the computers and networksforming the Internet and wireless network as well.

The computer system can include multimedia clients and servers. A clientand server are generally remote from each other and typically interactthrough a network, such as the described one. The relationship ofmultimedia client and server arises by virtue of computer programs orany software running on the respective computers or any hardware andhaving a client-server relationship to each other.

The above examples and description have of course been provided only forthe purpose of illustration, and are not intended to limit the inventionin any way. As will be appreciated by the skilled person, the inventioncan be carried out in a great variety of ways, employing more than onetechnique from those described above, all without exceeding the scope ofthe invention.

1. A method for automatically monitoring and verifying worldwidecompliance with insertion orders of multimedia advertising contentduring a campaign, delivered over a data network, comprising: a)advertiser initiated uploading via said data network by means of a userinterface or a software interface of a processor enabled device, ofadvertisement information according to a predetermined insertion orderassociated with campaign delivery requirements and a list of sites or ofsections per site, to which the advertising content should or should notbe provided according to said insertion order; b) activating a trackingpixel process for tracking web pages containing advertisementparameters; c) distributing, by means of at least one crawler managerserver to a plurality of web crawlers including at least one mappingcrawler and at least one visual crawler, crawling tasks with respect toweb pages that need to be crawled; d) activating, by means of said atleast one crawler manager server, said plurality of web crawlers so thatthey will visit said tracked web pages and perform said crawling tasks,according to a predetermined site visiting plan, and will extract visualadvertisement related delivery data, contextual delivery data, ormetadata related delivery data therefrom; e) storing said extracteddelivery data and data associated with said plurality of web crawlers ina plurality of databases; and f) by means of at least one incidentgenerator server, comparing, said insertion orders with said extracteddelivery data; and g) generating an incident whenever one of saidinsertion orders and its corresponding delivery data do not match,wherein said at least one visual crawler is used to render a web-pagegraphically, to identify media types that are displayed on said page,and to check if a HTML tag or a JavaScript tag of said page has certainsignatures that define the media as an advertisement.
 2. The methodaccording to claim 1, wherein the at least one visual crawler is alsoused to track down a landing page for each identified media type.
 3. Themethod according to claim 1, wherein the at least one visual crawler isalso used to find a position on the page and dimensions for eachidentified media type.
 4. The method according to claim 1, wherein theat least one visual crawler is also used to identify an ad server routeor a site redirection for each media type.
 5. The method according toclaim 1, wherein the at least one visual crawler is also used to analyzetext and meta-data in the page to find, for each media type, certainpredefined keywords that would be used to then classify the page, thesite and the associated advertisements.
 6. The method according to claim1, wherein the at least one visual crawler is also used to input userdata if required, for each media type, by the site or the page.
 7. Themethod according to claim 1, wherein the delivery data is generated bycombining data collected by the tracking pixel process and by theplurality of web crawlers.
 8. The method according to claim 1, whereinthe delivery data is generated by combining data collected by thetracking pixel process and by the plurality of web crawlers.
 9. A methodaccording to claim 6, wherein the user input data includes loginparameters or user related data.
 10. A method according to claim 1,wherein the tracking pixel process uses the delivery data for detectingthe tag ID of the displayed ad.
 11. A method according to claim 1,wherein the tracking pixel process uses the delivery data for extractinga path between ad servers, along which an ad is passed until beingdisplayed in a site.
 12. A method according to claim 1, wherein thevisiting plan includes how many times per day should each page bevisited and the start and end date of the campaign.
 13. A methodaccording to claim 1, wherein the insertion order information ismodified at any time point.
 14. A method according to claim 1, whereinthe at least one visual crawler performs: Session Crawling; CookieCrawling; Contextual Crawling; or Classification Crawling.
 15. A methodaccording to claim 1, wherein the at least one crawler manager server isused to: a) intermediate and arbitrate between one or more of theplurality of databases and running crawlers; and b) retrieve sites orpages that needed to be crawled from said one or more of the pluralityof databases and allocate them to different crawlers.
 16. A methodaccording to claim 1, wherein the crawler is an autonomous crawler or aplug-in crawler.
 17. A method according to claim 1, whereinadvertisements or advertisers are recognized according to: HTML tagsFlash tags JavaScript IFrame that contains other ads inside.
 18. Amethod according to claim 1, wherein advertisements are recognized by:a) Identifying all of the tags on the page that correspond to an adserver's signature; and b) Parsing the tag and extract information suchas the URL of the creative file, the landing page, the type of ad, thesize of the ad and the advertising category.
 19. A data processingsystem for automatically verifying worldwide compliance with insertionorders of multimedia network advertising delivered over a data network,said data processing system comprising: a) at least one ad server forstoring, delivering and uploading advertisements according to apredetermined insertion order via said data network; b) a tracking pixelserver for tracking web pages containing advertisement parameters; c) aplurality of web crawlers including at least one mapping crawler and atleast one visual crawler, for extracting visual advertisement relatedinformation from said tracked web pages according to a predeterminedsite visiting plan; d) at least one mediator server for distributing, tosaid plurality of web crawlers, crawling tasks with respect to web pagesthat need to be crawled and for determining a status of each of saidplurality of web crawlers; e) a plurality of databases in which isstored said extracted visual advertisement related information and dataassociated with said plurality of web crawlers; and f) at least oneincident generator server for analyzing said extracted visualadvertisement related information and reporting thereby incidents ofnon-compliance with respect to said insertion order, wherein said atleast one visual crawler is used to render a web-page graphically and togenerate a hierarchical representation of said page based on a HTML textof said page.
 20. A data processing system for automatically verifyingworldwide compliance with insertion orders of multimedia networkadvertising delivered over a data network, said data processing systemcomprising: a) at least one ad server for storing, delivering anduploading advertisements according to a predetermined insertion ordervia said data network; b) a tracking pixel server for tracking web pagescontaining advertisement parameters; c) a plurality of web crawlersincluding at least one mapping crawler and at least one visual crawler,for extracting visual advertisement related information from saidtracked web pages according to a predetermined site visiting plan; d) atleast one mediator server for distributing, to said plurality of webcrawlers, crawling tasks with respect to web pages that need to becrawled and for determining a status of each of said plurality of webcrawlers; e) a plurality of databases in which is stored said extractedvisual advertisement related information and data associated with saidplurality of web crawlers; and f) at least one incident generator serverfor analyzing said extracted visual advertisement related informationand reporting thereby incidents of non-compliance with respect to saidinsertion order, wherein said at least one visual crawler is used torender a web-page graphically, to identify media types that aredisplayed on said page, and to check if a HTML tag or a JavaScript tagof said page has certain signatures that define the media as anadvertisement.